using System.Collections;
using System.Collections.Generic;
using UnityEngine;

/// <summary>
/// 无限滚动脚本（适用于 UI 背景、UI 元素等循环滚动效果）
/// 实现了物体在 X 轴上的无限循环移动：
//// - 当物体超出设定位置时，重置其位置，创建一种“无尽滚动”的效果。
/// </summary>
public class InfiniteScrollingUI : MonoBehaviour
{
    [Header("滚动设置")]
    public float moveSpeed = -2f; // 移动速度（负值表示向右移动）
    public float resetPosition; // 物体重置的 X 轴位置
    public float createPosition; // 物体重新创建的 X 轴位置（将物体从右侧重置）

    private RectTransform rectTransform;

    private void Start()
    {
        rectTransform = GetComponent<RectTransform>();
    }

    private void Update()
    {
        // 物体沿 X 轴向右移动
        rectTransform.anchoredPosition += new Vector2(moveSpeed * Time.deltaTime, 0);

        // 如果物体超出了重置位置（屏幕左侧），则重置物体位置到右侧
        if (rectTransform.anchoredPosition.x < resetPosition)
        {
            // 将物体重置到设定的位置（右侧），实现循环滚动
            rectTransform.anchoredPosition = new Vector2(createPosition, rectTransform.anchoredPosition.y);
        }
    }
}
